Lead Gameplay Programmer
This showcases my older porfolio work. These projects are somewhat dated now but still show an interesting progression throughout my game development career. This is not necessarily a representation of my current abilities.
OpenGL 3.3 3D rendering engine
A local multi-player RTS game designed for smartphone devices. Players play on each side of a single device, building structures and taking command of units to defeat the opposing castle, whilst defending their own.
2D platformer engine
Rhythmic Minesweeper
This project was completed as my University final year project and was designed to run on both the PC and Xbox360 through the XNA architecture.
RPG Campaign - Players start by choosing a name and distributing attribute points to their character. They then proceed around a network map of destinations to further the story, complete quests, buy/sell items and fight AI enemies. Enemies are placed in between destinations and bumping into them will trigger a fight.
Fighting is based on a competitive game of Sudoku on a single grid. Each number a player correctly fills in results in their opponent taking damage. An incorrect placement renders the player unable to move. At certain levels, they also learn spells that can cause damage, heal or freeze their opponent. The number of damage, HP, MP and regenerative abilities is based on their attributes and buffing items they have. Other items can be used to heal HP or MP.
Puzzle mode - This is where players can play a normal game of Sudoku with a wide range of difficulty settings. The Sudoku grid is then randomly generated. Difficulty is based on the complexity of the techniques used to solve the puzzle and how many possible placements there are in each step. There is a wide range of options for the player whilst solving the puzzle:
Multiplayer modes - They can play in a competitive Sudoku fight either in local multiplayer or over the network. For network multiplayer, a player must set up as a host and another can select to join that session. It also supports VoIP and is fully integrated into the Windows Live and Xbox Live systems. It also supports cross-platform network multiplayer.
The project incorporates some important features:
* All art and design was done by me except for the character art (Joe Madureira) and item and spell icons (Blizzard from Warcraft III). Sound effects was taken from Soundsnap.com and music is from the The Last of the Mohicans OST, Shadow of the Colossus OST and artist Daduk.
NOTE: Due to a problem in XNA 3.1, the XNA 3.1 SDK and Visual C# 2008 Express Edition is required to run it. It will crash otherwise. The unfortunate loss of the data files means that I am unable to recompile it under that latest SDKs to fix this problem.
Based on the original turn-based strategy Flash game Dice Wars.
It is a simplified version of the board game Risk, where the goal is to control every territory of the map. The map is divided into 25-32 territories, which is randomly divided between 8 players at the start of the game. A random number of dice (representing forces) is evenly distributed to each territory. Each player then decides whether to gain more territory by attacking neighbours or hold to replenish forces.
When a player decides to attack another territory, the dice they have on the attacking territory is rolled and the total is accumulated. The same occurs for the defending territory and if the attacker has a greater total then the defender, then they invade that territory. The number of dice between the territories is then split, with one die remaining on the original attacking territory and the remaining dice on the new territory. If the attack is not successful, then the number of dice on the attacking territory is reduced to one. Dice is replenished at the end of a turn and the number is determined by the player's largest collection of adjacent territories, and is distributed randomly.
Unique to my implementation of Dice Wars is a fully built random map generator and varying levels of AI. A player/computer selection screen has not yet been implemented but to show the different range of AI, the players are divided as follows: Purple (Human player), Red, Pink and Blue (Easy AI), Green and Yellow (Medium AI), Orange and Teal (Hard AI).
For this project I used a custom API developed by a colleague, based on imitating the functionality of the iPhone handset. It uses a modified version of OpenGL to handle the graphics.
Features:
Diplomacy is a strategic board game where players compete to dominate a map, with a strong emphasis on negotiation. The Diplominator bot was designed to be a negotiating agent to succeed in a game by forming allies to make the best strategic moves possible.
This was a group university project where I was one member in a team of five. My main responsibilities were:
Additional details and references are available on request.
jason.chin4 [at] gmail.com
London, UK